/**
 * Copyright (C), 2020-2020, 人生无限公司
 * FileName: Test1
 * Description:模拟统计班级考试分数分布情况，分别统计100-80，79-60，59-40，39-0各个阶段的人数。
 * <p>
 * * 定义getScoreList方法，随机生成50个数字，数字范围从0到100。
 * * 定义countScore方法，统计各个阶段的分数个数。
 * * 定义printCount方法，打印各个阶段的统计结果。
 *
 * @create: 2020/7/17 16:15
 * @author Reanon
 * @version JDK 1.8.0_251
 */
package cn.reanon.day06.homework.test5;

import java.util.ArrayList;
import java.util.Random;

public class Test1 {
    public static void main(String[] args) {
        printCount(countScore(getScoreList()));

    }

    public static ArrayList<Integer> getScoreList() {
        Random r = new Random();
        ArrayList<Integer> numList = new ArrayList<>();
        for (int i = 0; i < 50; i++) {
            numList.add(r.nextInt(101));
        }
        return numList;
    }

    public static int[] countScore(ArrayList<Integer> numList) {
        int[] count = new int[4];
        for (int i = 0; i < numList.size(); i++) {
            int value = numList.get(i);
            switch (value / 20) {
                case 5:
                case 4:
                    count[0]++;
                    break;
                case 3:
                    count[1]++;
                    break;
                case 2:
                    count[2]++;
                    break;
                case 1:
                case 0:
                    count[3]++;
                    break;
            }
        }
        return count;
    }

    public static void printCount(int[] count) {
        for (int i = 0; i < 4; i++) {
            switch (i) {
                case 0:
                    System.out.println("100分 --" + "80分：" + count[i] + "人");
                    break;
                case 1:
                    System.out.println("79分 --" + "60分：" + count[i] + "人");
                    break;
                case 2:
                    System.out.println("59分 --" + "40分：" + count[i] + "人");
                    break;
                case 3:
                    System.out.println("39分 --" + "0分：" + count[i] + "人");
                    break;
            }
        }
    }

}
